Method for controlling access to the resources of a data processing system, data processing system, and computer program

ABSTRACT

In a data processing system with at least one data processing device, a large number of databases allocated to the data processing system and having user-specific data are linked together for forming a single resulting user database. Access permissions for resources provided by the at least one data processing device are awarded by predefined user roles. At least one user role is allocated to at least one user of the data processing system.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application is based on and hereby claims priority to German Application No. 101 47 465.2 filed on Sep. 26, 2001, the contents of which are hereby incorporated by reference.

BACKGROUND OF THE INVENTION

[0002] Market- and customer-oriented organizations change many times faster than the data processing systems which the organization uses to image its business processes. Special requirements arise from this in regard to the control of access to resources of data processing systems in organization units which are rapidly changing.

[0003] From DE 199 54 358 A1, a method is known for the control of user access in a network environment, using user roles. A user role determines the function of a user within an organization unit and serves to define of the scope of his operating responsibility.

[0004] A user role access control includes one or more user roles and access permissions, by which it is determined whether actions can be performed on computer-based objects. The user role access control is used to approve a user's request if user access roles grant access permissions which permit him to perform specific actions on a computer-based object.

[0005] The present invention has as its object to provide a method, a data processing system and a computer program for the efficient control of access to resources of a data processing system with different kinds of data processing devices, with different kinds of program applications which are provided by the data processing devices, and with frequent user data changes.

SUMMARY OF THE INVENTION

[0006] This object is attained according to the invention by a method with the features given in claim 1, a data processing system with the features given in claim 8, and a computer program with the features given in claim 9. Advantageous developments of the method according to the invention are given in the dependent claims.

[0007] An essential aspect of the present invention consists in that user-specific data are made accessible, in an integrated structure in a resulting user database, for substantially all the data processing devices of a data processing system. The resulting user database arises from the combination of a large number of databases with user-specific data. User roles, as the basis of a role-based resource access control, are also counted among the user-specific data. The data processing devices of the data processing system are target systems for the resource access control. In particular, a prerequisite is created for role-based resource access control in data processing systems with heterogeneous target systems and user-specific data recorded in a distributed manner.

[0008] Moreover, a use of role-based access control mechanisms in a resulting user database, also known as a meta-catalog. means a violation of a paradigm of the conventional meta-catalog technology. Namely, no n:m relationships are provided in the data model in conventional meta-catalog technology. These n:m relationships are however necessary for a role-based access control because of an allocation of users to roles, an allocation of roles to access permissions, and an allocation of access permissions to resources.

BRIEF DESCRIPTION OF THE DRAWINGS

[0009] These and other objects and advantages of the present invention will become more apparent and more readily appreciated from the following description of the preferred embodiments, taken in conjunction with the accompanying drawings of which:

[0010]FIG. 1 shows a schematic diagram of the mode of operation of a role-based resource access control system, and

[0011]FIG. 2 shows a data processing system with plural data processing devices and role-based resource access control.

[0012]FIG. 3 shows a data model for a role-based resource access control system.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

[0013] Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout.

[0014]FIG. 1 shows the environment in which a role-based resource access control system is embedded. Roles R1-R4 can be defined or derived using the membership of users U1-U3 in organization units ORG1-ORG4 and also their responsibility regions for business processes P1-P4. Access permissions to resources of an organization-wide data processing system with numerous data processing devices TSYS1-TSYSp are controlled by the defined or derived roles R1-R4. The data processing devices TSYS1-TSYSp here form target systems for the role-based resource access control. Within the scope of the role-based resource access control, users U1-U3 are allocated to roles R1-R4, roles R1-R4 to permissions, and permissions to resources of target systems TSYS1-TSYSp. The roles R1-R4 therewith represent a bundle of access permissions. Further details of role-based resource access control systems are described in David Ferraiolo, Richard Kuhn: “Role Based Access Control”, Proceedings of the 15th National Computer Security Conference, 1992, Vol. 11, pp. 554-563.

[0015] The data processing system shown in FIG. 2 has numerous databases DB1-DBn with user-specific data such as organization, location, responsibility region, personnel staff data, and available services. The user-specific data are not necessarily stored in the individual databases according to a unified data structure. The individual databases are linked together for forming a single resulting user database MDIR, hereinafter termed meta-catalog. For linking, the data stored in the individual databases DB1-DBn are converted according to an overall data model. Any data redundancies in the individual databases' DB1-DBn are eliminated during data migration into the meta-catalog MDIR. With a change in the user-specific data in the individual databases DB1-DBn, or in the meta-catalog MDIR, a synchronization takes place between the individual databases DB1-DBn and the meta-catalog MDIR. For synchronization of the meta-catalog MDIR with the individual databases DB1-DBn, synchronization requests REQ are exchanged between a server MDS, hereinafter termed meta-catalog server, allocated to the meta-catalog MDIR, and database servers DBS1-DBSn which are allocated to the individual databases DB1-DBn. The synchronization requests REQ are here transmitted over a data network NET which connects the database servers DBS1-DBSn with the meta-catalog server MDS.

[0016] The meta-catalog MDIR has memory regions M1-M3 with user staff data, role definitions, and access permissions for resources. Application programs APP1-APPn and memory regions MEM1-MEMp, which are provided by data processing devices TSYS1-TSYSp, belong to the resources. The data processing devices TSYS1-TSYSp providing the resources are termed “target systems” hereinafter.

[0017] The access permissions for the resources provided by the target systems TSYS1-TSYSp are awarded by the predefined user roles memorized in the meta-catalog MDIR. The predefined user roles are here allocated to access permissions, and the access permissions to resources of the target systems TSYS1-TSYSp. Allocations of users to roles are furthermore memorized in the meta-catalog MDIR, so that the access permissions allocated to the respective roles are granted to the respective users. The allocations of users to roles are memorized in the meta-catalog MDIR, for example as a portion of the personnel staff data. The predefined user roles are preferably made available for allocation by a role catalog memorized in the meta-catalog MDIR.

[0018] The meta-catalog server MDS is connected to the target systems TSYS1-TSYSp via interface devices TSA1-TSAm. The interface devices TSA1-TSAm are termed “target system agents” hereinafter. The target system agents resolve user roles allocated to users of the data processing system into application specific or operating system specific access permissions for application programs APP11-APPpn and memory regions MEM1-MEMp which are provided by the target systems TSYS1-TSYSp. Coordinating functions in regard to program access control and data holding are thus attributed to the target system agents TSA1-TSAm. For coupling the meta-catalog server MDS to the program access control and the data holding of the target systems TSYS1-TSYSp, the target system agents TSA1-TSAm have LDAP (Lightweight Directory Access Protocol) converters and API (Application Programming Interface) access interfaces, not explicitly shown in FIG. 2, and resolve the user roles into instruction sequences which can be interpreted by the respective target systems TSYS1-TSYSp.

[0019] With a change of role-defined user-specific data in the meta-catalog MDIR, a message MSG is sent to the respective target system agents TSA1-TSAm. The respective target system agent TSA1-TSAm thereupon inspects the message MSG for a change of application specific or operating system specific access permissions which are to be signaled to the respective target systems TSYS1-TSYSp.

[0020] The resource access control method described hereinabove is implemented by a computer program which can be loaded into a working memory RAM of the meta-catalog server MDS and has software code sections whose execution initiates the steps described hereinabove. The meta-catalog server MDS has a non-volatile memory medium MEM for permanent memorization of the computer program and a central processor unit CPU for its execution.

[0021] The conversion by data processing technology of a role-based access control information model into a meta-catalog is explained using the data model shown in FIG. 3. The following considerations hold without limitation of generality, particularly for an access control information model corresponding to the standard of the NIST (National Institute of Standards and Technology). and a LDAP meta-catalog. The NIST standard access control information model is termed hereinafter the RBAC (role based access control) information model.

[0022] The following object classes are defined in the LDAP meta-catalog for the conversion of the RBAC information model:

[0023] object class “User” 1 with user-specific attributes such as given name, last name, telephone number, etc.,

[0024] object class “Role” 2 with role-specific attributes, such as description, role identifier, role class, etc.,

[0025] object class “Permission” 3 with permission-specific attributes such as description of the permissions and permission identifier.

[0026] Access permissions spreading over the target system are brought together in an object of the object class “Permission” 3.

[0027] For allocations between object instances, the following attributes describing the allocations are introduced:

[0028] Attribute “RoleLink” 11 of the object class “User” 1 for the allocation of a user to one or more roles,

[0029] Attribute “PermissionLink” 21 of the object class “Role” 2 for the allocation of a role to one or more permissions.

[0030] The attribute “RoleLink” 11 represents an object reference (Distinguished Name Reference) in an LDAP meta-catalog. Since attributes in a LDAP meta-catalog can be multivalued, the m:n relationships between users, roles and permissions can be converted in the sense of the RDAC information model with the three object classes “User” 1, “Role” 2 and “Permission” 3 in a simple fashion.

[0031] For the support of role hierarchies, the object class “Role” 2 likewise contains an attribute “RoleLink” 22. Hierarchies of role instances can be generated therewith. For example, a role object “Group Manager” can refer via the attribute “RoleLink” 22 to a role object “employee” and thereby inherit the permissions allocated to the role object “employee” in the sense of the RBAC information model.

[0032] For a specification of a time binding between users and roles, an object class “Assignment” 4 is introduced. Allocations between users and roles, and also a beginning and an end of the respective allocation, are both given with the object class “Assignment” 4. For this purpose, the object class “Assignment” 4 contains the following attributes:

[0033] “AssignFrom” 41 for an object reference to an instance of the object class “User” 1,

[0034] “AssignTo” 42 for an object reference to an instance of the object class “Role” 2,

[0035] “StartDate” 43 for a starting time point of the allocation,

[0036] “EndDate” 44 for an end time point of the allocation.

[0037] In order to support an automatic administration of user identifiers and user groups and an allocation of user identifiers to user groups by an LDAP meta-catalog, the following object classes are used:

[0038] “TargetSystem” 5 for administration of a specific target system,

[0039] “TSAccount” 6 for imaging a user identifier of a specific target system,

[0040] “TSGroup” 7 for imaging a user group of a specific target system.

[0041] The object class “TargetSystem” contains among other things an attribute “AccNameRule” 51 for a rule for the formation of user identifier names. This serves as an automatic facility for user identifiers in the respective target system.

[0042] The object class “TSAccount” 6 contains among other things the following attributes:

[0043] “AccountName” 61 for a name of a user identifier,

[0044] “TSLink” 62 for a reference to a target system for which the user identifier is arranged,

[0045] “UserLink” 63 for a reference to a user to whom the user identifier is allocated.

[0046] The object class “TSGroup” 7 contains among other things the following attributes:

[0047] “GroupName” 71 for a name of a user group identifier,

[0048] “GroupMembers” 72 for a reference to names of user identifiers which are allocated to a user group,

[0049] “TSLink” 73 for a reference to a target system for which the user group is arranged.

[0050] For a connection of an award of access permissions by the RBAC information model and an automatic administration of user identifiers, user groups and of an allocation of user identifiers to user groups in an LDAP meta-catalog, the object class “Permission” 3 is extended by an attribute “TSGroupLinK” 31. The attribute “TSGroupLink” 31 serves as an allocation of permissions spreading over target systems to user groups in specific target systems, therefore target system specific permissions.

[0051] For the support of role parameters, the object class “TSGroup” is extended by the attribute “RPMatchRule” 74. The attribute “RPMatchRule” 74 serves for the establishment of a selection rule for the consideration of a user group when awarding a permission for a user to whom specific role parameter values are allocated.

[0052] With the described data model, the conversion by data processing technology of a role-based access control information model into a meta-catalog takes place in the fashion described hereinbelow:

[0053] A user is first imaged in an instance of the object class “User” 1. An allocation of roles without time binding takes place by the attribute “RoleLink” 11. An allocation of roles with time binding takes place rolewise by a respective instance of the object class “Assignment” 4. There the allocation is set up by the attributes “AssignFrom” 41 and “AssignTo” 42 and by the attributes “StartDate” 43 and “EndDate” 44.

[0054] A role is imaged in an instance of the object class “Role” 2. A construction of role hierarchies takes place by the attribute “RoleLink” 22. An allocation of roles to permissions takes place by the attribute “PermissionLink” 21.

[0055] A permission which spreads over target systems is imaged in an instance of the object class “Permission” 3. An allocation of permissions to user groups as target system specific permissions takes place by the attribute “TSGroupLink” 31.

[0056] A target system which is administered by the resource access control is imaged in an instance of the object class “TargetSystem” 5. A selection rule is laid down there for the formation of user identifier names. A target system specific user group is imaged in an instance of the object class “TSGroup”.

[0057] By a search according to the name of an instance of the object class “User” 1 over all instances of the object class “TSAccount” 6, it is determined in which target systems user identifiers already exist for a user. Furthermore, which roles are allocated to a user can be determined for each point in time. For this purpose, references in the attribute “RoleLink” 11 of the object class “User” 1 are evaluated. Role allocations without time binding result from this. Role allocations with time binding are determined by an evaluation of the attributes “AssignFrom” 41 and “AssignTo” 42 of instances of the object class “Assignment” 4.

[0058] At each point in time, starting from a user, via the roles allocated to the user and the target system specific access permissions allocate to the roles, it can be determined to which user groups a user is to be allocated. A corresponding allocation takes place by a user identifier which is specific for the respective target system. By the described determination of already existing user identifiers, whether a usable user identifier is already arranged for the respective user in a given target system can be inspected. If no user identifier is yet arranged, a new user identifier can be arranged for use. The name of a new user identifier is formed using the attribute “AccNamerRule” 51 of the object class “TargetSystem” 5.

[0059] If user groups are determined which depend on role parameters due to a selection rule set up by the attribute “RPMatchRule” 74 of the object class “TSGroup” 7, the corresponding selection rule is applied to the user role parameter values of the respective user. A classification of a user in a user group is only performed when the selection rule for the user role parameter values of the user gives a positive result.

[0060] At each point in time, to which user groups a user is allocated can be determined. For this purpose, the user identifiers of the respective user are determined. By a search, the user groups in which the respective user identifier is allocated are determined for each of these user identifiers.

[0061] The data processing technological conversion described here of a role-based access control information model into a meta-catalog offers the advantage of a simple traceability and visibility. Moreover, a further advantage consists in that allocations and relationships of the individual object classes are stored free from redundancy. The allocations can therefore be determined either directly, by object references, or indirectly, by search requests. Furthermore the allocation of users to roles is optimized as regards memory utilization and access time because of the direct object reference in the object class “User” 1. In addition, a role allocation without time binding occurs more frequently in practice than a role allocation with time binding.

[0062] Furthermore, the use is made possible of meta-catalogs for the automatic administration of user identifiers and user groups in specific target systems based on the modeling of the user identifiers and user groups into their own object classes and based on the assessment of the permission award by an allocation of the user identifiers to user groups.

[0063] The application of the present invention is not limited to the embodiment example described herein.

[0064] The invention has been described in detail with particular reference to preferred embodiments thereof and examples, but it will be understood that variations and modifications can be effected within the spirit and scope of the invention. 

What is claimed is:
 1. Method for the control of access to resources of a data processing system with at least one data processing device, wherein a large number of databases having user-specific data and being allocated to the data processing system are linked together to form a single resulting user database, access permissions for resources provided by the at least one data processing device are awarded by predefined user roles, at least one user role is allocated to at least one user of the data processing system.
 2. Method according to claim 1, wherein responsibility regions of users in business processes are determined by the predefined user roles.
 3. Method according to claim 1, wherein the user-specific data include the at least one user role allocated to the at least one user.
 4. Method according to claim 1, wherein the predefined user roles are made available for allocation by a role catalog.
 5. Method according to claim 1, wherein the at least one user role allocated to the at least one user is resolved by an interface device allocated to one of the data processing devices into application-specific access permissions for a program application provided by the data processing device.
 6. Method according to claim 1, wherein the at least one user role allocated to the at least one user is resolved by an interface device allocated to the data processing device into operating system specific access permissions for memory regions of a memory medium of the data processing device.
 7. Method according to claim 5, wherein, with a change of role-defined user-specific data in the user database, a message comprising the changed role-defined user-specific data is sent to the interface device and due to this an inspection is made for a change of application-specific and/or operating system specific access permissions.
 8. Data processing system with at least one data processing device, a large number of databases, in which user-specific data are stored, and which are linked together for forming a single resulting user database, at least one means for awarding, by predefined user roles, access permissions for resources provided by the at least one data processing device, at least one means for allocation of at least one user role to at least one user of the data processing system.
 9. Computer program which can be loaded into a working memory of a data processing device and has at least one software code section, in the execution of which: a large number of databases allocated to a data processing system and having user-specific data are linked together for forming a single resulting user database, access permissions for resources provided by at least one data processing device are awarded by predefined user roles, at least one user role is allocated to at least one user of the data processing system, when the computer program runs on the data processing device. 